Three-dimensional (3D) point clouds can be obtained using various sensors such as laser scanners and depth sensors, and are widely used for several applications such as 3D modeling and 3D object recognition. Such 3D point clouds inherently suffer from missing data due to occlusions and sensor limitations such as a limited field of view and measurement range. Completing the missing data in 3D point clouds is important for the subsequent applications, e.g., for 3D modeling to generate models without holes, and for 3D object recognition to achieve high recognition accuracy.
Some methods fill holes in a 3D point cloud using geometric properties such as symmetry and smoothness of the surfaces. Some methods use existing libraries of 3D object models and fit the 3D object models to a 3D point cloud to recover the missing points.
Some methods project a 3D point cloud onto two-dimensional (2D) images and interpolate points in the 3D point cloud using the images; see US20140132733 A1 and U.S. Pat. No. 8,731,247 B2. Some methods give feedback to the user to move the sensor and capture more data in the areas including missing points; see U.S. Pat. No. 8,861,840 B2.
Some methods segment a 3D point cloud into a set of object primitives, and fill points in occluded regions for each object primitive. Support relations among the object primitives are then estimated based on a physical reasoning. In some methods, a 3D point cloud is segmented into a set of cuboids, the cuboids are extrapolated into occluded regions, and their support relations and arrangement are estimated, which make the cuboids physically stable. The extrapolated cuboids are used to fill points in the occluded regions. However, those methods are time-consuming, and there is a need to develop a more efficient system or method for completing the missing data in 3D point clouds.